package com.wll.android.drawp1;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;

import androidx.annotation.Nullable;

public class Practice8DrawArcView extends View {
    Paint paint = new Paint();
    RectF rectF = new RectF();

    public Practice8DrawArcView(Context context) {
        super(context);
    }

    public Practice8DrawArcView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public Practice8DrawArcView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

//        练习内容：使用 canvas.drawArc() 方法画弧形和扇形
//        练习内容：使用 canvas.drawArc() 方法画弧形和扇形

        rectF.set(160, 200, 840, 560);

        // 弧形的起始角度（x 轴的正向，即正右的方向，是 0 度的位置；顺时针为正角度，逆时针为负角度）
        // 弧形划过的角度
        // 是否连接到圆心，如果不连接到圆心，就是弧形，如果连接到圆心，就是扇形

        // 弧线
        paint.setStyle(Paint.Style.STROKE);
        canvas.drawArc(rectF, 180, 60, false, paint);

        // 扇形（连圆心）
        paint.setStyle(Paint.Style.FILL);
        canvas.drawArc(rectF, -110, 100, true, paint);

        // 扇形（直线，不连圆心）
        paint.setStyle(Paint.Style.FILL);
        canvas.drawArc(rectF, 20, 140, false, paint);
    }
}
